Kit Introduction
This is the Myduino IoT Maker Kit, designed specifically for beginners and enthusiasts who want to dive into the world of IoT (Internet of Things). The kit includes a comprehensive selection of NodeMCU ESP8266 most popular and versatile electronic components, ideal for building smart projects.
Additionally, we provide detailed tutorials that feature project descriptions, step-by-step instructions, and source codes. Working through these projects gives you hands-on experience and a solid foundation in IoT concepts. With this kit, you’ll unlock the ability to interact with and control the physical world through smart devices and sensors.
Kit Contents


Introduction to NodeMCU ESP8266 V3 CH340
NodeMCU is an open-source robot brain with a super fast clock, built-in WIFI, and tons of room to fit your code. Perfect for building IoT projects and robots that communicate with their friends. You can use Arduino IDE to write and upload code, so none of your favourite habits have to change.

V3 vs V2
So, what’s with the V3? NodeMCU haven’t released a new specification so far. Hence, there’s no official 3rd generation board. Turns out that V3 is a “version” invented by producer V3 is signify minor improvements to the V2 boards. Among others they claim their USB port to be more robust.
If you compare the pin layout there’s only a tiny difference to the V2 layout. V3 decided to use one of the two reserve pins for USB power out and the other for an additional GND.
Watch out though for the difference in size! This V3 board is significantly larger than the V2 boards. Because of its size I would never use it. There are clearly better alternatives.
Arduino-like hardware IO
Advanced API for hardware IO, which can dramatically reduce the redundant work for configuring and manipulating hardware.
Code like Arduino, but interactively in Lua script.
Nodejs style network API
Event-driven API for network applications, which facilitates developers writing code running on a 5mm*5mm sized MCU in Nodejs style.
Greatly speed up your IOT application development process.
Lowest cost WI-FI
On-board ESP8266, a low-cost WiFi-MCU Module integrated and easy to prototyping development board. The best platform for IOT application development at the lowest cost.
The Development board based on ESP8266, integrates GPIO, PWM, IIC, 1-Wire and ADC all in one board. Power your development in the fastest way combining with NodeMCU Firmware!
Feature & Specification
Features
- Open-source platform
- Interactive & Programmable
- WiFi-enabled
- Arduino-like Hardware IO
- Nodejs style network API
- ESP8266, a low-cost WiFi module on-board (FCC Certified)
- On-board USB-TTL converter, plug & play
- Headers – 2.54mm 15-pin header with access to GPIOs, SPI, UART, ADC, and power pins
Specifications
- Input Voltage: 7 – 12V
- Operating Voltage: 3.3V
- CPU: 32-bit RISC Tensilica Xtensa LX106 running at 80 MHz
- 64 KB of instruction RAM, 96 KB of data RAM (80x Arduino UNO!)
- 512 KB of EEPROM (512x Arduino UNO!)
- External QSPI flash – 512 KB to 4 MB* (up to 16 MB is supported)
- IEEE 802.11 b/g/n Wi-Fi
- Integrated TR switch, balun, LNA, power amplifier and matching network
- WEP or WPA/WPA2 authentication, or open networks
- Digital I/O Pins (DIO): 16
- Analog Input Pins (ADC): 1
- UARTs: 1 on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
- SPIs: 1
- I2Cs: 1
- Flash Memory: 4 MB
- SRAM: 64 KB
- Clock Speed: 80 Mhz
- 80 Mhz clock (5x Arduino UNO or mega!)
NodeMCU ESP8266 V3 CH340 Pinout

Getting Started with Arduino
Installing Arduino Software
When you get the NodeMCU ESP8266 development board, first you should install the Arduino software and driver.
We usually use the Windows software Arduino 1.5.6 version. You can download it from the link below:
https://www.arduino.cc/en/Main/OldSoftwareReleases#1.5.x
Or you can browse the ARDUINO website to download the latest version from this link, https://www.arduino.cc, pop up the following interface.

Then click the SOFTWARE on the browse bar, you will have two options ONLINE TOOLS and DOWNLOADS.

Click DOWNLOADS, it will appear the latest software version of ARDUINO 1.8.5 shown as below.

On this software page, on the right side you can see the version of development software for different operating systems. ARDUINO has a powerful compatibility. You should download the software that is compatible with the operating system of your computer.
We will take WINDOWS system as an example here. There are also two options under Windows system, one is installed version, the other is non-installed version. For the simple installed version, first click Windows Installer, you will get the following page.


This way you just need to click JUST DOWNLOAD, then click the downloaded file to install it.
For the non-installed version, first, click the Windows ZIP file, you will also get the pop-up interface as the above figure.
Click JUST DOWNLOAD, and when the ZIP file is downloaded well to your computer, you can directly unzip the file and click the icon of ARDUINO software to start it.
Installing Arduino (Windows)
Install Arduino with the exe. Installation package. Here we provide you with Arduino-1.5.6-r2-windows package, you can directly click the icon to install it.

Click“I Agree”to see the following interface.

Click “Next”. Pop up the interface below.

You can press Browse… to choose an installation path or directly type in the directory you want.
Then click “Install” to initiate installation.

Wait for the installing process, if appear the interface of Window Security, just continue to click Install to finish the installation.

All right, up to now, you have completed the Arduino setup! The following icon will appear on your PC desktop.

Double-click the icon of Arduino to enter the desired development environment shown as below.

The functions of each button on the Toolbar are listed below:

Install ESP8266 Add-on in Arduino IDE
To install the ESP8266 board in your Arduino IDE, follow these next instructions:
1 – In your Arduino IDE, go to File> Preferences

2 – Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into the “Additional Boards Manager URLs” field as shown in the figure below. Then, click the “OK” button:

Note: if you already have the ESP32 boards URL, you can separate the URLs with a comma as follows:
https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
3 – Open the Boards Manager. Go to Tools > Board > Boards Manager…

4 – Search for ESP8266 and press install button for the “ESP8266 by ESP8266 Community“:

5 – That’s it. It should be installed after a few seconds.

How to install CH340 driver on Windows
After connecting the ESP8266 board to your computer, if the COM port in Arduino IDE is greyed out, it means you don’t have the required USB drivers installed. Most ESP8266 boards either use the CP2101 or CH340 drivers. Check the USB to UART converter on your board, and install the corresponding drivers.

CH340 is a USB to TTL serial converter chip that is included in several development boards, such as Arduino NANO, Arduino MEGA, ESP8266 NodeMCU V3, and CH340 adapter modules. With this chip, these boards don’t need a programmer. The chip comes in several variants, including Ch340C, Ch340G, Ch340B, Ch340T, and others.

Checking whether the CH340 driver is installed
The easiest way to know if the CH340 driver is installed or not when using Arduino boards is to plug the given board into your computer USB port and open the Arduino IDE. Then check for COM Port under Tools as shown below.

If the CH340 driver is not installed then you will not be able to select COM Ports in the Arduino IDE.
Alternatively, for USB to TTL adapter modules, you can check the Windows Device Manager after plugging the device into your PC.

The USB serial device will appear with a danger symbol meaning that it is not being recognized by the computer therefore you need to either install or update the CH340 driver.
How to install CH340 driver
- First, you need to download the CH340 driver for Windows which can be obtained from various sources even from the manufacturers site.
- Unzip the downloaded file and run the installer by double-clicking on the unzipped file. A new window opens where the necessary files are extracted and when done, the driver installer window opens where you click install to begin installing the CH340 driver.

After installing the driver, a “Driver install success!” message pops up. Click OK and close all the windows.

Now you can restart the Arduino IDE and you should now be able to see the COM port where the CH340 device is plugged into the PC.

Also, if the CH340 driver has been installed correctly, when you check the Device Manager after connecting your board to a computer, you can see the USB-serial CH340 COM port listed with the corresponding port number.

Updating CH340 driver in Windows Device Manager
Sometimes the CH340 driver may be installed but corrupted and therefore will cause the plugged device not to work properly. In such a situation you need to update the driver.
- First download the CH340 driver
- Go to the Windows Device Manager.
- Under Other devices right click on the USB serial device with issues.
- Click on Update driver.
A new pane opens where you select how you want to search for the driver. Select Browse my computer for drivers.

Browse to the directory where you stored the downloaded and extracted zip file for CH340 driver.

Click Next and the driver will be updated and after the update, a message will show that the CH340 driver has been updated successfully.

How to install CP2102 driver
You’ll easily find instructions with a quick Google search. For the CP2102 drivers, you can follow one of the following guides:
- Install ESP32/ESP8266 USB Drivers – CP210x USB to UART Bridge (Windows PC
- Install ESP32/ESP8266 USB Drivers – CP210x USB to UART Bridge (Mac OS X)
Troubleshooting
If you try to upload a new sketch to your ESP8266 and you get this error message “esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header“. It means that your ESP8266 is not in flashing/uploading mode.

Having the right board name and COM port selected, follow these steps:
- Hold-down the “BOOT/FLASH” button in your ESP8266 development board
- Press the “Upload” button in the Arduino IDE to upload your sketch:

- When you see the “Connecting….” message in your Arduino IDE, release the finger from the “BOOT/FLASH” button
- After that, you should see the “Done uploading” message
Your ESP8266 should have the new sketch running. Press the “ENABLE/RESET” button to restart the ESP8266 and run the newly uploaded sketch.
Project Details
Project 1: ESP8266 DHT11 Temperature and Humidity Web Server with Arduino IDE
Introduction
Using the Arduino IDE, you’ll build a standalone web server powered by an ESP8266 that displays temperature and humidity data from a DHT11 sensor. The web server you’ll create can be viewed from any device with a browser on your local network.

Throughout this lesson, we will demonstrate how to build two alternative web servers:
- Web Server #1: Asynchronous web server that updates the temperature and humidity automatically without the need to refresh the web page and with custom CSS to style the web page.
- Web Server #2: Simple HTTP web server that displays the latest sensor readings when the page is updated in a raw HTML page.
Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- DHT11 Temperature and Humidity Sensor
- Breadboard 400 Holes
- Jumper wires
Resources
- ESP8266 DHT11 Temperature and Humidity Web Server with Arduino IDE, by Random Nerd Tutorials
Project 2: ESP8266 NodeMCU Relay Module – Control AC Appliances (Web Server)
Introduction
Using a relay with the ESP8266 is an excellent way to manage AC household appliances remotely. This tutorial will show you how to use the ESP8266 NodeMCU to operate a relay module. We’ll look at how a relay module works, how to connect it to the ESP8266, and how to create a web server to remotely operate a relay (or any number of relays).

Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- 1 Channel Low-Level Trigger Relay Module 5V
- Jumper wires
Resources
- ESP8266 NodeMCU Relay Module – Control AC Appliances (Web Server), by Random Nerd Tutorials
Project 3: IoT-based Smart Parking System using ESP8266 NodeMCU
Introduction
The IoT-based Smart Parking System helps solve parking problems in crowded areas by showing real-time parking availability. It uses an ESP8266 NodeMCU, ultrasonic sensors to detect vehicles, IR sensors for gate control, and a servo motor to open and close the gate. A display shows available spaces, and the system updates a web server so users can check parking remotely. This project makes parking easier and more efficient, supporting smart city solutions.

Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- Jumper wires
- Breadboard
- HC-SR04 Ultrasonic Distance Sensor
- (IR) Infrared Obstacle Avoidance Sensor
- I2C 16×2 LCD Blue/Green Backlight
- Breadboard Power Supply 5V 3.3V Module for Arduino
- LED Red Colour / 5V LED Traffic Light Module
- 12V 2A UK Wall Plug Adapter to DC Jack
- SG90 Micro Servo Motor
Resources
- IoT-based Smart Parking System using ESP8266 NodeMCU, by Circuit Digest
Project 4: IoT-based Smart Irrigation System using Soil Moisture Sensor and ESP8266 NodeMCU with ThingSpeak Dashboard
Introduction
The IoT-based Smart Irrigation System is designed to automate watering processes by monitoring soil moisture levels and environmental conditions. Utilizing an ESP8266 NodeMCU module, the system gathers data from a soil moisture sensor and a DHT11 sensor, which measures temperature and humidity. When soil moisture drops below a predefined threshold, the system activates a water pump to irrigate the soil until optimal moisture levels are restored. The collected data is also transmitted to the ThingSpeak server, enabling users to monitor land conditions remotely. This approach ensures efficient water usage and supports healthier crop growth.

Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- Jumper wires
- Breadboard
- Breadboard Power Supply 5V 3.3V Module for Arduino
- 1 Channel Low-Level Trigger Relay Module 5V
- 12V 2A UK Wall Plug Adapter to DC Jack
- DHT11 Temperature and Humidity Sensor
- Soil Moisture Sensor
- Vertical Submersible Mini Water Pump
Resources
- IoT-based Smart Irrigation System using Soil Moisture Sensor and ESP8266 NodeMCU with ThingSpeak Dashboard, by Circuit Digest
Project 5: IoT-based fire alarm system using Nodemcu ESP8266 and Blynk
Introduction
The IoT-based fire alarm system utilizes a NodeMCU ESP8266 board and a flame sensor to detect fires and send real-time alerts to your smartphone via the Blynk app. Upon detecting a flame, the system activates a buzzer and LED indicator while simultaneously sending a push notification through the Blynk cloud, enabling prompt response to potential fire hazards. This setup is handy for monitoring homes, offices, and factories, providing an efficient and timely fire detection solution.

Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- Jumper wires
- Breadboard
- Flame Infrared Sensor
- LED Green & Red / 5V LED Traffic Light Module
- PCB Active Buzzer
Resources
- IoT-based fire alarm system using Nodemcu ESP8266 and Blynk, by Sritu Hobby
Project 6: Simple Traffic Light with Blynk app
Introduction
The Simple Traffic Lights project uses the NodeMCU ESP8266 and the Blynk app to control a traffic light system via the Internet of Things (IoT). This setup allows users to manage traffic signals using their smartphones remotely. The system operates with red, yellow, and green LEDs, simulating real traffic lights, and can be controlled through the Blynk interface. This project is useful for learning IoT, smart city applications, and automation in traffic management. 🚦📲

Parts Required
- NodeMCU ESP8266 CH340/CP2102 board
- Jumper wires
- 5V LED Traffic Light Module
- SPST Rocker Switch
- 4xAA Battery Holder with Wire
Resources
- Simple Traffic Light with Blynk app, by ToyBots
Buy from
- Myduino IoT Maker Kit NodeMCU ESP8266 from Myduino.com